#pragma once
#include <string>
#include <vector>
#include "pdfmanager.h"
#include "probability.h"
#include "training.h"
#include "preprocessing.h"

using namespace std;

class Classifier
{
public:
	Classifier(void);
	~Classifier(void);
	void classify();
	void setFilePath(string &filePath);
	string getFilePath();
	string getRootPath();
	void setRootPath(string &rootPath);
	string getKeyList();
	string getResult();

private:
	void openPdfFile(string &filePath);
	float calcProd(vector<string> X, string Cj);
	vector<pair<string, double>> sortProbability();


private:
	double _zoomFactor;
	string _filePath;
	string _rootPath;
	string _showType;
	string _showKey;
	//string _testText;
	//vector<string> _processedText;
	vector<string> _keyWord;
	PdfManager *_pdfMgr;
	Probability *_probability;
	TraningManager *_traningMgr;
	PreProcessing *_processMgr;
};
